<?php
/**
 * 角色管理模型
 * 
 * @author Lee<a605333742@gmail.com>
 * @date 2018-07-03
 */
namespace app\admin\model;

use think\Model;
use think\Db;

class Role extends Model{
    protected $roleModel;//角色模型
    protected $roleAdminModel;//角色与用户关联模型
    protected $roleNodeModel; //角色与节点关联模型  
    public function __construct($data = array()) {
        parent::__construct($data);
        $this->roleModel        =Db::name("Role");
        $this->roleAdminModel   =Db::name("AdminRole");
        $this->roleNodeModel    =Db::name("RoleNode");
    }
    
    /*
     * 根据指定条件查询角色ID
     * 
     * @param array $condition 查询条件
     * @param str $field 查询的字段，默认为全部
     * 
     * @return array $field;
     */
    public function getOneRoleId($condition,$field='*'){
        return $this->roleAdminModel->where($condition)->value($field);
    }
    
    /*
     * 根据指定条件查询单条角色信息
     * 
     * @param array $condition  查询的条件
     * @param str $field  查询的字段
     * 
     * @return $field
     */
    public function getOneRoleInfo($condition,$field='*'){
        return $this->roleModel->where($condition)->field($field)->find();
    }
    
    /*
     * 查询指定条件的用户所拥有的节点id列表
     * 
     * @param array $condition 指定条件
     * @param str $field 需要查询的字段
     * 
     * @return array $field
     */
    public function getNodedList($condition,$field='*'){
        return $this->roleNodeModel->where($condition)->column($field);
    }
}